package com.github.common.extend.demo.config.feign;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;

import java.util.Collections;
import java.util.List;

/**
 * @author wangjj7
 * @date 2024/4/29
 * @description
 */
@Data
@Configuration
@ConfigurationProperties("x-feign.request-timeout-log")
public class FeignRequestTimeoutLogProperties {

    /**
     * 默认超时时间，毫秒
     * 如果时长小于等于0，不设置超时
     */
    private long defaultTimeoutMs = -1L;

    /**
     * 特殊path配置
     */
    private List<PathProperties> paths = Collections.EMPTY_LIST;

    @Data
    static class PathProperties {

        /**
         * 路径
         */
        private String path;

        /**
         * 超时时间，毫秒
         * 如果时长小于等于0，不设置超时
         */
        private long timeoutMs = -1L;

    }

}
